package CalculDesSalaires.impl;

import CalculDesSalaires.IEmployee;

/**
 * On va trouver toutes les informations qui caractérisent un employé. 
 * @author Hetoo
 *
 */
public class Employee implements IEmployee {

	private String theName;
	protected double salaireDeBase;
	private int numéroDePaiement;
	private String language="";
	protected double salaireDuMois;
	
	/**
	 * Constructeur paamrétré.
	 * @param theName
	 * @param salaireDeBase
	 * @param numéroDePaiement
	 */
	Employee(String theName, double salaireDeBase, int numéroDePaiement) {
		super();
		this.theName = theName;
		this.salaireDeBase = salaireDeBase;
		this.numéroDePaiement = numéroDePaiement;
	}
	
	/**
	 * constructeur par défaut.
	 */
	Employee(){
		this("",0,0);
	}

	/**
	 * Methode permettant de récupérer le langage de programmation de l'employé.
	 * @return la specialite de l'employee.
	 */
	public String setLanguage() {
		return language;
	}
	
	/**
	 *  Methode permettant d'entrer ou de modifier le langage de programmation de l'employé.
	 * @param language
	 */
	public void setLanguage(String language){
			this.language = language;
		}
	
	/**
	 * Méthode pour le calcul des salaires d'un Mentee.
	 *  
	 * Elle sera utilisée pour faire du polymorphisme.
	 * @return 
	 */
	public void getSalary(){
		boolean equals = language.equals("Java");
		if(equals == true)
			this.salaireDuMois = (double) (salaireDeBase + 0.1*salaireDeBase);
		else
			this.salaireDuMois = salaireDeBase;
	}

	/**
	 * Méthode pour récupérer des informations sur l'employé.
	 * @return le nom de l'employée. 
	 */
	public String getTheName(){
		return theName; 
	}
	
	/**
	 * Méthode pour récupérer des informations sur l'employé.
	 * @return le salaire de Base. 
	 */
	public double getSalaire(){
		return salaireDeBase; 
	}

	/**
	 * Méthode pour récupérer des informations sur l'employé.
	 * @return le numéro de paiement. 
	 */
	public int getNumeroDePaiement(){
		return numéroDePaiement; 
	}

	/**
	 * Méthode pour récupérer des informations sur l'employé.
	 * @return le salaire du Mois.
	 */
	public double getSalaireDuMois(){
		getSalary();
		return salaireDuMois;
	}


}
